package cj.web.portal.controllers;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.paoding.rose.web.annotation.Param;
import net.paoding.rose.web.annotation.Path;
import net.paoding.rose.web.annotation.rest.Get;
import net.paoding.rose.web.var.Model;
import net.sf.json.JSONObject;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;

import cj.utils.Constants;
import cj.utils.DateUtils;
import cj.web.admin.constants.CategoryEnum;
import cj.web.admin.constants.SourceEnum;
import cj.web.portal.dao.LineDAO;
import cj.web.portal.dao.ResDAO;

/**
 * 大事记、最新成果、创业指南、前沿观察
 * @author HanMin
 *
 * 2015年12月29日
 */
@Path("res")
public class ResController {

	private static Logger logger = Logger.getLogger(ResController.class.getName());
	
	@Autowired
	public ResDAO resDAO;
	
	@Autowired
	public LineDAO lineDAO;
	
	//大事记
	@Get("dsj")
	public String showDSJ(Model model)
	{
		model.add("jtpphdls", jtpphd(String.valueOf(CategoryEnum.CJTT_PPHD.getValue())));//集团品牌活动列表
		return "res/dsj.vm";
	}
	
	//xxmt
	@Get("home")
	public String showZXCG(Model model,@Param("category") String category)
	{
		model.add("category",category);
		model.add("jtpphdls", jtpphd(String.valueOf(CategoryEnum.CJTT_PPHD.getValue())));//集团品牌活动列表
		return "res/list.vm";
	}
	
	//创业指南、前沿观察、最新成果、集团动态json
	@Get("lis")
	public String getListByDZ(@Param("category") String category,
			@Param("start") int start,@Param("length") int length)
	{
		JSONObject jo = new JSONObject();
		jo.put("returnFlag", Constants.returnObj.returnFlag_true);
		//查询首页长江头条,品牌活动,微聚合列表
		List<Map> reps = resDAO.query(category, start*length, length);
		List<Map> list = new ArrayList<Map>();
		for(Map rep :reps)
		{
			Map liRep = new HashMap();
			liRep.put("id", rep.get("id"));//ID
			liRep.put("title", rep.get("title"));//标题
			liRep.put("abstractInfor", rep.get("abstractInfor"));//简介
			liRep.put("carouselImage", rep.get("carouselImage")+".thumb.jpg");//缩率图
			liRep.put("releaseAT", rep.get("releaseAT")==null?"":DateUtils.getDateTime2Str(
					DateUtils.parse(rep.get("releaseAT").toString()), DateUtils.DATE_FULL_STR));//发布时间
			
			list.add(liRep);
		}
		jo.put("list", list);//列表
		return "@"+jo.toString();
	}
	
	/**
	 * 创业指南、前沿观察、最新成果 详情页
	 * @param model
	 * @param id
	 * @return
	 */
	@Get("detail")
	public String getLineDetail(Model model,@Param("id") String id)
	{
		List<Map> rep = resDAO.queryById(id);
		
		if(rep!=null && rep.size()>0)
		{
			model.add("id",rep.get(0).get("id"));
			model.add("title",rep.get(0).get("title"));//标题
			model.add("category",rep.get(0).get("category"));//分类
			model.add("abstractInfor",rep.get(0).get("abstractInfor"));//摘要
			model.add("content",rep.get(0).get("content"));//内容
			model.add("author",rep.get(0).get("author"));//作者
			model.add("releaseAT",DateUtils.getDateTime2Str(
					DateUtils.parse(rep.get(0).get("releaseAT").toString()), DateUtils.DATE_FULL_STR));//发布时间
		}
		
		model.add("jtpphdls", jtpphd(String.valueOf(CategoryEnum.CJTT_PPHD.getValue())));//集团品牌活动列表
		model.add("jtpcjtts", jtpphd(String.valueOf(CategoryEnum.CJTT_CJTT.getValue())));//集团长江头条列表
		return "res/detail.vm";
	}
	
	/**
	 * 集团down
	 * @param category
	 * @return
	 */
	private List<Map> jtpphd(String category)
	{
		//集团品牌活动
		List<Map> ppls = lineDAO.query(category, 0, 5);
		List<Map> pphdls = new ArrayList<Map>();
		for(Map rep :ppls)
		{
			Map l_rep = new HashMap();
			l_rep.put("id", rep.get("id"));//ID
			l_rep.put("title", rep.get("title"));//标题
			l_rep.put("abstractInfor", rep.get("abstractInfor"));//简介
			l_rep.put("carouselImage", rep.get("carouselImage")+".thumb.jpg");//缩率图
			pphdls.add(l_rep);
		}
		return pphdls;
	}
}
